package com.ruoyi.im.domain.po;

import com.ruoyi.common.domain.po.BasePO;
import com.ruoyi.common.enums.BaseBooleanEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
 * 消息对象 im_message
 * 
 * @author ruoyi
 * @date 2025-10-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class ImMessagePO extends BasePO
{
    /**
     * 消息id.mongodb类型的id。IdUtil.objectId()
     * */
    private String messageId;
    /**
     * 消息回复id，为message的id
     * */
    private Long replyMessageId;

    /**
     * 消息回复id, mongodb类型的id
     */
    private String replyId;
    /**
     * 平台类型，1.web端,2.h5
     * */
    private Integer platformType;
    /**
     * 消息内容
     * */
    private String content;
    /**
     * 翻译消息内容
     * */
    private String translateContent;
    /**
     * 消息类型，1.文字，2.图片，3.文件，4.语音，5.视频，6.位置，7.链接，8.系统消息,9.表情,10.ping
     * */
    private Integer type;
    /**
     * 发送者id,
     * */
    private Long formUserId;
    /**
     * 接收者id,
     * */
    private Long toUserId;
    /**
     * 房间id,
     * */
    private Long roomId;
    /**
     * 是否系统消息，1.是，0.否
     * */
    private BaseBooleanEnum system;
    /**
     * 是否保存，1.是，0.否
     * */
    private BaseBooleanEnum saved;
    /**
     * 消息是否已分发，1.是，0.否
     * */
    private BaseBooleanEnum distributed;
    /**
     * 消息是否已读，1.是，0.否
     * */
    private BaseBooleanEnum seen;
    /**
     * 消息是否已删除，1.是，0.否
     * */
    private BaseBooleanEnum deleted;
    /**
     * 消息是否发送失败，1.是，0.否
     * */
    private BaseBooleanEnum failure;
}
